package self.rss.proto.util;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class BerechneTage {
	
	
	public static long getdays(String d){
	Calendar cal_1 = new GregorianCalendar();
	Calendar cal_2 = new GregorianCalendar();
	int day=formatDay(d);
	int year=formatYear(d);
	int month=formatMonth(d);
	
	 SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
	  String datum = dateFormat.format(new Date());
	
	int heuteTag=formatDay(datum);
	int heuteMonat=formatMonth(datum);
	int heuteJahr=formatYear(d);
	
	switch (month){
	case 1:
		cal_1.set( year, Calendar.JANUARY, day, 0, 0, 0 );  
		
		break;
	case 2:
		cal_1.set( year, Calendar.FEBRUARY, day, 0, 0, 0 );  
		break;
	case 3:
		cal_1.set( year, Calendar.MARCH, day, 0, 0, 0 );  
		break;
	case 4:
		cal_1.set( year, Calendar.APRIL, day, 0, 0, 0 );  
		break;
	case 5:
		cal_1.set( year, Calendar.MAY, day, 0, 0, 0 );  
		break;
	case 6:
		cal_1.set( year, Calendar.JUNE, day, 0, 0, 0 );  
		break;
	case 7:
		cal_1.set( year, Calendar.JULY, day, 0, 0, 0 );  
		break;
	case 8:
		cal_1.set( year, Calendar.AUGUST, day, 0, 0, 0 );  
		break;
	case 9:
		cal_1.set( year, Calendar.SEPTEMBER, day, 0, 0, 0 );  
		break;
	case 10:
		cal_1.set( year, Calendar.OCTOBER, day, 0, 0, 0 );  
		break;
	case 11:
		cal_1.set( year, Calendar.NOVEMBER, day, 0, 0, 0 );  
		break;
	case 12:
		cal_1.set( year, Calendar.DECEMBER, day, 0, 0, 0 );  
		break;
	}
	switch (heuteMonat){
	case 1:
		cal_2.set( heuteJahr, Calendar.JANUARY, heuteTag, 0, 0, 0 );  
		
		break;
	case 2:
		cal_2.set( heuteJahr, Calendar.FEBRUARY, heuteTag, 0, 0, 0 );   
		break;
	case 3:
		cal_2.set( heuteJahr, Calendar.MARCH, heuteTag, 0, 0, 0 );  
		break;
	case 4:
		cal_2.set( heuteJahr, Calendar.APRIL, heuteTag, 0, 0, 0 );   
		break;
	case 5:
		cal_2.set( heuteJahr, Calendar.MAY, heuteTag, 0, 0, 0 );  
		break;
	case 6:
		cal_2.set( heuteJahr, Calendar.JUNE, heuteTag, 0, 0, 0 );  
		break;
	case 7:
		cal_2.set( heuteJahr, Calendar.JULY, heuteTag, 0, 0, 0 );  
		break;
	case 8:
		cal_2.set( heuteJahr, Calendar.AUGUST, heuteTag, 0, 0, 0 );   
		break;
	case 9:
		cal_2.set( heuteJahr, Calendar.SEPTEMBER, heuteTag, 0, 0, 0 );   
		break;
	case 10:
		cal_2.set( heuteJahr, Calendar.OCTOBER, heuteTag, 0, 0, 0 );  
		break;
	case 11:
		cal_2.set( heuteJahr, Calendar.NOVEMBER, heuteTag, 0, 0, 0 );  
		break;
	case 12:
		cal_2.set( heuteJahr, Calendar.DECEMBER, heuteTag, 0, 0, 0 );  
		break;
	}
//	cal_1.set( 1997, Calendar.MARCH, day, 0, 0, 0 );                      // erster Zeitpunkt
//	cal_2.set( 1998, Calendar.APRIL, day, 0, 0, 0 );                      // zweiter Zeitpunkt
	long time = cal_2.getTime().getTime() - cal_1.getTime().getTime();  // Differenz in ms
	long days = Math.round( (double)time / (24. * 60.*60.*1000.) );     // Differenz in Tagen
	//System.out.println( "Zeit-Differenz in Tagen: " + days );

	return days*(-1);
	}
	
	public static int formatDay(String s){
		
		
		return Integer.parseInt(s.substring(0, 2));
	}
	public static int formatMonth(String s){
		
		String help=s;
	
		help=s.substring(3, 5);
		
		return Integer.parseInt(help);
	}
public static int formatYear(String s){
	
		String help=s;
	
		help=s.substring(6, s.length());
		
		return Integer.parseInt(help);
	}
}
